package wowraidmanager.client.flowlist.utils;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;

public class ErrorCheck{
    String errorString;

    public String checkPassword(String password){
        errorString = "";
        if( ! password.equals(Constant.CHECK_PASSWORD)){
            errorString = "パスワードが間違っています。";
        }
        return errorString;
    }

    public String checkflowstay(Map<String, Object> input, String role){
        errorString = "";
        String[] flowCheckList = (String[])input.get(role + "_flowCheckArray");
        String[] stayCheckList = (String[])input.get(role + "_stayCheckArray");

        if(flowCheckList != null && stayCheckList != null){
            for(String checklist:flowCheckList){
                if(Arrays.asList(stayCheckList).contains(checklist)){
                    errorString = role + "のフローと欠席のチェックが重複している箇所があります。";
                    break;
                }
            }
        }
        return errorString;
    }

    public String checknewflowlist(Map<String, Object> input, String role){
        errorString = "";
        String playerNames = (String)input.get("playerNames_" + role);
        if(playerNames == null || playerNames.equals("")){
            errorString = role + "の新規作成が空です。";
        }
        return errorString;
    }

    public String checkflowstay(ArrayList<String> attendRadioArray, ArrayList<String> flowRadioArray, ArrayList<String> stayRadioArray, String role, int radioRow){
        errorString = "";

        if(attendRadioArray.size() + flowRadioArray.size() + stayRadioArray.size() != radioRow){
            errorString = role + "のチェックをしていない箇所があります。";
        }

        if(flowRadioArray != null && stayRadioArray != null){
            for(String checklist:flowRadioArray){
                if(stayRadioArray.contains(checklist)){
                    errorString = role + "のフローと欠席のチェックが重複している箇所があります。";
                    break;
                }
            }
        }
        return errorString;
    }
}
